#include <iostream>
#include <string>

template <class T1, class T2>
class Person
{
public:
    Person(T1 name, T2 age);
    // {
    //     this->name = name;
    //     this->age = age;
    // }

    void showPerson();
    // {
    //     std::cout << "name:" << this->name << " age:" << this->age << std::endl;
    // }

    T1 name;
    T2 age;
};

// 构造函数类外实现
template <class T1, class T2>
Person<T1, T2>::Person(T1 name, T2 age)
{
    this->name = name;
    this->age = age;
}

// 成员函数类外实现
template <class T1, class T2>
void Person<T1, T2>::showPerson()
{
    std::cout << "name:" << this->name << " age:" << this->age << std::endl;
}

int main()
{
    return 0;
}